import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 模具台账信息 */
export interface Account {
  id: number // 主键
  name?: string // 模具名
  code?: string // 编码
  drawingNoId?: number // 图号id
  deptId: number // 部门Id
  devId: number // 设备Id
  totalCavity?: number // 总腔数
  availableCavity: number // 可用腔数
  totalUsageCount?: number // 寿命
  usedCount: number // 已使用
  warningCount?: number // 预警次数
  delayCount: number // 延期次数
  warehouseId: number // 仓库Id
  storageId: number // 储位id
  bomCategoryId: number // bom类型
  oprationStep: number // 工步
  quantity: number // 数量
  upkeepId: number // 保养类型id
  lastUpkeepTime: string | Dayjs // 上次保养日期
  nextUpkeepTime: string | Dayjs // 下次保养日期
  upkeeperId: number // 保养人id
  upkeepTime: string | Dayjs // 保养日期
  lastRecheckTime: string | Dayjs // 上次复检日期
  nextRecheckTime: string | Dayjs // 下次复检日期
  recheckerId: number // 复检人id
  recheckTime: string | Dayjs // 复检日期
  borrowerId: number // 领用人ID
  borrowTime: string | Dayjs // 领用时间
  returnerId: number // 归还人ID
  returnTime: string | Dayjs // 归还时间
  description: string // 描述
}

// 模具台账 API
export const UpkeepSetApi = {
  // 查询模具台账分页
  getAccountPage: async (params: any) => {
    return await request.get({ url: `/mold/upkeep-set/page`, params })
  },

  getSetCat: async (catId: number) => {
    return await request.get({ url: `/mold/upkeep-set/setCat?catId=${catId}` })
  },

  updateCat: async (moldId: number, catId: number) => {
    return await request.put({ url: `/mold/upkeep-set/updateCat`, params: { moldId, catId } })
  }
}
